Importer les modules necessaires.
In [2]:
import pypot.dynamixel
import time
Trouver le port sur lequel est branché le moteur
In [3]:
print(pypot.dynamixel.get_available_ports())
Ouvrir une communication série avec le moteur :
In [4]:
dxl_io = pypot.dynamixel.Dxl320IO('/dev/ttyAMA0')
Cherche les moteurs connectés sur le bus (il en faut un seul avec l'ID 1 pour la première utilisation) :
In [15]:
motors = (dxl_io.scan(range(60)))
print(motors)
print(len(motors))
Modifier l'identifiant d'un moteur (ID) :
In [14]:
#Remplace l'ID 1 par 2 sur le moteur 1.
#Attention, les moteurs doivents tous avoir une ID différente sur le même bus.
dxl_io.change_id({1:2})
Retourne la position cible pour le moteur 1 :
In [16]:
dxl_io.get_goal_position({1})
Out[16]:
Donne un objectif de position pour le moteur 1 :
In [ ]:
dxl_io.set_goal_position({12: 60})
Ferme la connexion avec les moteurs :
In [18]:
dxl_io.close()
In [19]:
from pypot.dynamixel import autodetect_robot
my_robot = autodetect_robot()
Afficher les moteurs de my_robot :
In [22]:
my_robot.motors
Out[22]:
Faire bouger le moteur 2 jusqu'à la position 0 degrés en 2 secondes :
In [23]:
my_robot.compliant = False
In [26]:
my_robot.motor_2.goto_position(0,2)
Aller plus loin dans les commandes possibles :
La documentation de Pypot : https://poppy-project.github.io/pypot/
Le projet Poppy : https://www.poppy-project.org/fr/